Windows management in a television environment

ABSTRACT

Media content is received in a windows management application. The media content is from a set of content including zero or more television signal content and zero or more application content. The media content is incorporated into a television signal containing a window configuration. The television signal is then sent from the windows management application to a television where it is displayed.

RELATED APPLICATIONS

This patent application is a continuation of U.S. application Ser. No.13/361,657, filed Jan. 30, 2012, which is a continuation of U.S.application Ser. No. 11/318,767, filed Dec. 27, 2005 (now U.S. Pat. No.8,107,010); which claims the benefit of U.S. Provisional Application No.60/641,882, filed Jan. 5, 2005. The specifications of the foregoingapplications are hereby incorporated by reference herein in theirentirety.

FIELD OF THE INVENTION

The present invention relates generally to a user's interaction with atelevision to control the display of content on the television. Thepresent invention relates more specifically to a television environmentsystem that permits a user to display a broad spectrum of media contentin separate windows of an interface displayed on the television.

BACKGROUND

Television surrounds American lives. About 98.3% of the homes in theUnited States have television sets, with an average of 2.2 sets perhousehold. Television is turned on more than seven hours per day in theaverage home, with each individual watching approximately four and ahalf hours per day.

High definition televisions are a recent addition to the suite oftelevisions available for home usage. With 1080 lines per picture and ascreen aspect ratio (width to height ratio) of 16:9 (compared to 525lines per picture and a 4:3 screen aspect ratio of standard definitiontelevision), high definition televisions provide more resolution thanstandard definition television (SDTV). The crystal-clear qualitywide-screen picture and compact-disc quality surround sound have madehigh definition televisions the future of television.

Users of televisions have become accustomed to some of the screen areabeing taken up by more than one image window, such as duringpicture-in-picture and picture-by-picture viewing. Oncepicture-in-picture or picture-by-picture viewing is selected by thetelevision user, the content provider and not the television usercontrols the content received in each picture window.

The screen area of a television may be put to better use than atpresent. For example, a user may desire to have a music application upin one window to play music and have a cooking application up in anotherwindow to display a favorite recipe. However, because the contentprovider controls the content received, a user is unable to select amusic application to play in one window and a picture or movieapplication to play in the second window. Thus, a conventionaltelevision is unable to present such desired content.

With the advent of applications which execute remotely, there will be avery large suite of applications available to a user. Some of theseremote applications will allow interaction with media content. Users ofconventional televisions are unable to take advantage of these remotedapplications. What is needed is a system that permits a television userto select and display a broad spectrum of media and applications contenton a home television.

SUMMARY

A system is provided that gives a viewer of a television moreflexibility—like that of a personal computer—when watching television,but in a more television-centric way. In some embodiments, thetelevision is a standard definition television or a high definitiontelevision. In other embodiments, the television has a differentresolution and/or different aspect ratio than the format of the outputof the application.

The user may select different media content to be displayed in separatewindows, for example, one or more live television content feeds and oneor more application content feeds. An application may comprise amultimedia application, internet-based application, or otherapplication. For example, the application may comprise a musicapplication, a still photo application, a video application, atelevision broadcast application, an email application, web browserapplication, or the like.

The user may also select a window configuration from a variety of windowconfigurations. In some embodiments, each window configuration comprisestwo or more windows that are positioned and sized according topredetermined settings for the window configuration. Each windowdisplays different selected media content. The user may also move thewindows around on the television screen and may overlap the windows.Thus, the user may have the ability to control on a television screentwo or more different applications as they would on a personal computerwith a user interface that makes sense on a television and with which atelevision viewer is familiar.

Media content is received in a windows management application. The mediacontent is from a set of content including live television signalcontent and application content. The media content is incorporated intoa television signal in a user specified window configuration. In turn,the television signal from the windows management application istransmitted to a television for display to the viewer.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates one embodiment of a television environment 100;

FIG. 2 illustrates one embodiment of a television environment 200;

FIG. 3 is a method 300 to manage windows in television environment 100;

FIG. 4A is a plan view of screen 108 of television 102 in full screen402;

FIG. 4B is a plan view of window configurations screen 404;

FIG. 4C is a plan view of focus control 408 movement from its positionin FIG. 4B to its position in FIG. 4C;

FIG. 4D is a plan view of window configuration 508 displayingapplication chooser menu 410;

FIG. 4E is a plan view illustrating an application running in windowpanel 510 and application chooser menu 410 passing through window panel512;

FIG. 4F is a plan view of window configuration 508 after exit fromapplication chooser menu 410;

FIG. 5A is a plan view of a first side-by-side window configuration 502;

FIG. 5B is a plan view of a second side-by-side window configuration508;

FIG. 5C is a plan view of a first over and under window configuration514;

FIG. 5D is a plan view of a second over and under window configuration520;

FIG. 5E is a plan view of a first picture in picture windowconfiguration 526;

FIG. 5F is a plan view of a second picture in picture windowconfiguration 532;

FIG. 5G is a plan view of a third picture in picture windowconfiguration 538;

FIG. 5H is a plan view of a fourth picture in picture windowconfiguration 544;

FIG. 5I is a plan view of a full screen window configuration 550;

FIG. 6 is a method to display windows in television environment 100; and

FIG. 7 is a computer system 700 with which some embodiments of theinvention are implemented.

DETAILED DESCRIPTION

FIG. 1 illustrates one embodiment of a television environment 100.Television environment 100 comprises a television 102, digital mediaadaptor 104, and a remote control 106.

Television 102 by itself may be thought of as an unintelligent device.When television 102 receives an electronic video signal, it converts thesignal to television pictures and associated sound, and displays thetelevision pictures as a normal image on a screen 108 of the television102. In one embodiment, television 102 may be configured to display asecond image onto or next to the normal image. For example, television102 may have picture-in-picture or picture-by-picture, splitscreen,options. However, neither picture-in-picture (PIP) norpicture-by-picture has a single unifying aspect. Without more,television 102 presents the picture-in-picture and picture-by-picture onan input basis rather than on an application basis. Because of this, aconventional television 102 by itself lacks intelligence to managewindow panels.

The terms “push media” and “pull media” may be used to distinguishtelevision 102 from a computer server. Push media is a form of mediadistribution where items of content are sent to a user in a sequencehaving a particular rate determined by a server to which the user hasconnected. Push media usually entails some notion of a “channel” thatthe user may select and which may deliver a particular kind of content.This is in contrast to pull media, in which the user may request eachitem of content individually, such as with a computer.

A conventional television is an example of a device used with pushmedia: a user may select a channel that delivers streaming televisionprograms and commercials that are displayed on the television screenaccording to a television broadcast standard. In contrast, a computerconnected to the Internet may represent an example of a device used withpull media: each item of content (e.g., web page) is sent to thecomputer only after a user requests the item.

In some embodiments, television 102 is a high definition television(HDTV) with 1,080 lines per picture and a screen aspect ratio of 16:9.In other embodiments, television 102 is a standard definition television(SDTV) with 525 lines per picture and a 4:3 screen aspect ratio. Infurther embodiments, television 102 is a television with a differentresolution and/or different aspect ratio.

Digital media adaptor (DMA) 104 is a device that acts as a bridgebetween television 102 and media content. In one embodiment, DMA 104 isa box attached to television 102. In another embodiment, DMA 104 issoftware embodied in specific circuitry that is included insidetelevision 102.

DMA 104 is connected to a home network 110, which is connected to aglobal network 112. Home network 110 and global network 112 may includea collection of computers interconnected by telephone lines, coaxialcables, satellite links, radio, wireless/broadband wireless, cellulartelephone, PCS digital cellular, and/or some other communication ornetwork technique. Home network 110 and global network 112 may include apublic distribution network such as the Internet or include a privatedistribution network, such as a cable television network.

When used in conjunction with television 102, DMA 104 adds severalfunctions to television 102. For example, most countries use one ofthree television broadcast standards: National Television SystemCommittee (NTSC), Phase Alternating Line (PAL), or Sequential Color withMemory (or Systeme Electronique Couleur Avec Memoire) (SECAM). However,each television broadcast standard is incompatible with the other.Overcoming this incompatibility, DMA 138 may receive a NTSC, PAL, orSECAM signal from television broadcast source 114 and pass through asignal capable of being displayed on television 102 (which may only beable to display one of these broadcast standards). In this way, specificcircuitry in DMA 138 enables television 102 to receive and display twoor more television broadcast standards.

Television 102 may be designed to display one aspect ratio, namely theaspect ratio of the received electronic video signal. DMA 104 mayinclude software embodied in specific circuitry to allow display ofreceived signals having different aspect ratios. For example, iftelevision 102 has a narrow aspect ratio display and a wide aspect ratiosignal is received from television broadcast source 114, DMA 104 selectsa narrow aspect ratio section from the wide aspect ratio signal fordisplay on television 102. DMA 104 may expand or otherwise alter areceived narrow aspect ratio signal where television 102 has a wideaspect ratio display. In general, the circuitry and/or software of DMA104 changes a second signal standard to make it displayable according tothe first signal standard by which television 102 operates.

In addition to the functions above, DMA 104 may locate and run remoteservices to play back video with audio at various speeds. DMA 104 maypause streamed clips indefinitely, jump to a particular time point in afile, and jump forward and back in predefined time increments (e.g., 15minute increments). Moreover, DMA 104 may include a skip forward option(e.g., thirty second skip).

DMA 104 is not limited to receiving and processing television signalcontent. DMA 104 may also be able to access a local or remoteapplication and cause that application to produce application contentfor display on television 102. DMA 104 may be connected to a variety ofdevices in a household. For example, DMA 104 may be connected to asecond television 118, a video camera 120, a digital camera 122, astereo 124, and a video player 126 through home network 110 andoptionally through respective DMA 128, DMA 130, DMA 132, and DMA 134.Some household devices, such as video camera 120 and digital camera 122may share a DMA (e.g., DMA 130), with the aid of a switch. Each DMA,including DMA 104, may be a client in a peer-to-peer or client-to-clientnetwork. Each device may also have access to media content particular tothat device. Through home network 110 and a respective DMA, DMA 104 mayhave access to any media content stored or played from another device,such as video camera 120, digital camera 122, stereo 124, and/or videoplayer 126.

In addition, DMA 104 may have access to other application programs,including those designed to perform a specific function directly for auser of television environment 100 or, in some cases, for anotherapplication program. As illustrated in FIG. 1, DMA 104 is connected to apush media application source 136 through optional DMA 138, a pull mediaapplication source 140 through optional DMA 142, and an optionalcomputer station 144. In addition to signals from these media contentsources, DMA 104 may receive signals from pre-tuned composite andS/Video sources, stereo left/right, and optical audio sources, includingtelevision broadcast source 114.

As described above, DMA 104 may be configured to accept a variety ofmedia content including television signal content and applicationcontent. DMA 104 may be configured to determine the location of themedia content and to gather and display particular media content on thescreen 108 of television 102.

When used in conjunction with television 102, DMA 104 further addsadditional functions to television 102. In some embodiments, DMA 104enables television 102 to display multiple media items of content indifferent windows. In these embodiments, DMA 104 includes specificcircuitry and/or software for processing one or more items of televisionsignal content and/or one or more items of application content and fordisplaying the content on screen 108 of television 102.

As such, television 102 combined with DMA 104 creates a hybrid pushmedia/pull media device to receive both television content andapplication content. On the push media side, television signal contentis sent to television 102 in a sequence having a particular ratedetermined by a server to which television 102 is connected. In someembodiments, DMA 104 provides television 102 additional functionality incontrolling this television signal content. On the pull media side,media content made up of television content and application content isrequested by a user through DMA 104 and received by DMA 104 from localor remote applications controlled or operated at least in part by DMA104.

DMA 104 may output video and audio to television 102 in a variety offormats. DMA 104 may output television signal content in different videoformats (e.g., Composite, S/Video, Component, and High-DefinitionMultimedia Interface (HDMI)) simultaneously. If needed, DMA 104 may alsoscale the video to a different size for television 102 (e.g., from fullscreen down to a smaller window, such as 6×4 inches). In one embodiment,video scaling is done as part of a setup procedure for DMA 104. Ahardware switch on DMA 104 may set the video output resolution. Thisswitch may also be embodied in the software configuration of DMA 104.DMA 104 may also output audio in a variety of formats (e.g., as digitaloutput, stereo left/right, etc.) simultaneously.

Television environment 100 also includes remote control 106. Remotecontrol 106 includes any device used to control television 102 or DMA104 from a distance. Preferably, remote control 106 includes pushbuttons that provide input selection and include a communication headthat transmits user selected inputs to DMA 104.

In some embodiments, television environment 100 includes a client-servermechanism. The client portion may be implemented using DMA 104. DMA 104functions as a client in the client-server environment to interfacemedia devices to home network 110. For example, second television 118,stereo 124, video player 126, a game program, and an electronic photoalbum may be coupled to DMA 104 through their respective DMAs to providethe full functionality of their services through home network 110 totelevision 102. The server portion may be implemented using a computeror a media server device. For example, computer station 144 or server116 may function as a server in the client-server environment to servedata stored on that system or to interface media devices to DMA 104through home network 110. Moreover, a varying collection of applicationsand operating systems distributed throughout home network 110 may worktogether to provide server functions in the client-server environment tointerface media devices to DMA 104.

FIG. 2 illustrates one embodiment of a television environment 200.Television environment 200 includes a windows management application202, television 102, and media content 204. FIG. 2 is described inrelation to FIG. 1 which show elements referred to in FIG. 2.

Windows management application 202 is configured to receive input fromvarious media content 204 and a remote control input 206 to producetelevision signal 208. Media content 204 includes application content210 and broadcast television content 212. Application content 210 mayinclude content from one or more applications, such as application 1,application 2, and application 3 through application n. In someembodiments, windows management application 202 does not permitdata-sharing between applications. In some embodiments, windowsmanagement application 202 is a client in a client-to-client network andis capable of concurrent execution of two or more tasks (multitasking).

In one embodiment, windows management application 202 is part of DMA 104of FIG. 1. When used in connection with DMA 104, an application may runin three display states: full screen, windowed, and multiple windows. Infull screen state, the navigation/interface scheme of the applicationtakes precedent over controls of DMA 104. In windowed state, theapplication is displayed as a scaled version of the full screen state.In multiple windows state, applications are displayed side by side or inother arrangements such as picture-in-picture. In multiple windowsstate, applications have a focus control to allow the user to controlwhich window has the focus of the input.

The windows management application 202 combines/composites media contentfrom two or more sources to produce the television signal 208. Forexample, the windows management application 202 may combine/compositebroadcast television content 212 with first application content toproduce the television signal 208. As a further example, the windowsmanagement application 202 may combine/composite first applicationcontent with second application content to produce the television signal208. The windows management application 202 configures the televisionsignal 208 to display different media content in differentwindows/panels. For example, the windows management application 202 mayconfigure the television signal 208 so that broadcast television content212 is displayed in a first window and first application content isdisplayed in a second window. As a further example, the windowsmanagement application 202 may configure the television signal 208 sothat first application content is displayed in a full screen and secondapplication content is displayed overlaying the first applicationcontent in a partial screen.

To add to the functionality of television 102, windows managementapplication 202 implements a graphical user interface (GUI) ontelevision 102, through which a user can interact with the windowsmanagement application 202 and select various operations to beperformed. For example, the user may use an input device (e.g., remotecontrol 106) to input information to the windows management application202 through the graphical user interface (GUI) displayed on the screen108 of the television 102. Through the graphical user interface, theuser may select icons and/or menu items and select media content forvarious windows to be displayed on the screen 108. Through the graphicaluser interface, the user may also interact with the various windowsdisplayed on the screen 108 (e.g., to select and move/position aparticular window on the screen 108). In some embodiments, the multipledisplayed windows may be moved around by the user independently on thescreen 108 and may overlap one another.

In one embodiment, an application is run to present media content 204 totelevision 102. The application may operate as part of windowsmanagement application or as one or more applications in the set ofapplications 210. For this implementation, a server remotes a userinterface for the application to the client, here DMA 104. In oneembodiment, the server remotes the user interface of an application toDMA 104 via an open standard protocol (e.g., XRT). The DMA 104 client,interpreting the remote application, implements the user interface ontelevision 102 by rendering user interface screens on screen 108 oftelevision 102 and interprets commands from remote control input 206.Unlike the typical two-foot user interface of a computer station, theuser of television environment 200 may be ten feet away from the userinterface displayed on screen 108 of television 102 and the interfacemay be formatted accordingly.

FIG. 3 is a method 300 to manage windows in television environment 100.Some steps of the method 300 may be implemented in hardware or software,for example, by the DMA or windows management application. In someembodiments, the method 300 is implemented through use of a GUIdisplayed on a television 102 that receives input from a user throughuse of a remote control 106. FIG. 3 is described in relation to FIGS. 1and 2 which show elements referred to in FIG. 3. Also, FIG. 3 isdescribed in relation to FIGS. 4A-F and 5A-I which illustrate examplesof the steps of the method 300. The steps of the method 300 are forillustrative purposes only and the order or number of steps may vary inother embodiments.

The method 300 begins at 302 where media content is displayed on screen108 of television 102 in full screen mode. FIG. 4A shows an example ofscreen 108 of television 102 displaying in full screen mode 402. A usermay, for example, view television broadcast content on screen 108 infull screen mode. At step 304, a user presses a window management buttonon remote control 106. In turn, at 306, DMA 104 receives a signal toengage a window management application.

At step 307, screen 108 displays a window configurations screen (where asound emanating from DMA 104 may indicate this change of screens). FIG.4B shows an example of a window configurations screen 404. The windowconfigurations screen 404 includes a set of predetermined windowconfigurations 406. FIGS. 5A-I (discussed below) show examples ofpossible predetermined window configurations 406 that may be displayedat step 307. In some embodiments, a focus control 408 falls upon awindow configuration 406 positioned along a horizontal center line ofwindow configurations screen 404. In some embodiments, the windowmanagement application 202 may bring to the horizontal center line thewindow configuration 406 having the most use based on prior selections.As shown in FIG. 4B, windows management application 202 provides avariety of window configurations 406 from which to choose. In someembodiments, each window configuration 406 comprises two or more windowsthat are positioned and sized according to predetermined settings forthe window configuration.

After step 307, the method 300 then determines at step 308 whether theuser again pressed the window management button on remote control 106.If so, the window manager application is dismissed and method 300returns to step 302 to display a prior window configuration on thetelevision screen 108. If not, the method 300 determines at step 310whether a predetermined amount of time has passed without the userpressing a button on remote control 106. In one embodiment, this isdetermined by determining whether DMA 104 has received a signal fromremote control 106. The predetermined amount of time may be, forexample, thirty seconds, one minute, or a time set by the user. If thepredetermined amount of time has passed without the user pressing abutton on remote control 106, the method 300 returns to step 302. Ifnot, the method 300 proceeds to step 312.

In some embodiments, at each step in method 300, method 300 maydetermine whether the user pressed the window management button onremote control 106 a second time and determine whether the predeterminedamount of time has passed without the user pressing a button on remotecontrol 106. In these embodiments, if either of these conditions existsat any step in method 300, the window manager application is dismissedand method 300 returns to step 302. In returning to step 302, the windowmanager application may fade out and focus control restored to theprevious application.

At step 312, a user may press a navigation button (eg. an up or downbutton) on remote control 106 to move focus control 408 to a particularwindow configuration 406 within window configurations screen 404. FIG.4C shows an example of a focus control 408 movement from its initialposition in FIG. 4B to a new position in FIG. 4C. Each time focuscontrol 408 highlights a particular window configuration 406, a soundmay play. The sound may be unique to each window configuration so thatthe user may select a particular window configuration based on sight,sound, or a combination of sight and sound.

At step 314, a user selects a particular window configuration 406 in thewindow configurations screen 404 using the remote control 106. Inresponse, at step 316, the window configuration screen 404 is dismissed(i.e., no longer displayed on the screen 108) and the selected windowconfiguration is displayed. For example, if the user selects aside-by-side window configuration 508 of FIG. 5B (discussed below inrelation to FIG. 5B), window configuration screen 404 is dismissed andwindow configuration 508 is displayed at step 316. FIG. 4D shows anexample of how selected window configuration 508 can be displayed insome embodiments.

In addition, selecting a window configuration at step 314 causes anapplication chooser menu to be displayed at step 318. Applicationchooser menu displays icons (or other identifying information) for andprovides a selection of different media content 204 for each windowpanel of a selected window configuration. Examples of media contentinclude content from a second television, music, digital photos, a videoplayer, a videocassette recorder, and applications available over theinternet such as email. In general, any content capable of beingdisplayed on television 102 may be included as media content in theapplication chooser menu. The various media content selectable throughthe application chooser menu may be configured by user or may be presetby the manufacturer of the DMA.

FIG. 4D shows an example of how an application chooser menu 410 can bedisplayed in some embodiments. As illustrated in FIG. 4D, applicationchooser menu 410 passes through (i.e., overlaps) a particular windowpanel of the selected window configuration to indicate that theparticular window panel will receive and display the next selected mediacontent 204. In the example of FIG. 4D, application chooser menu 410passes through left window panel 510 to indicate that window panel 510will receive the next selected media content 204.

After the application chooser menu is displayed at step 318, the userthen selects at step 320 a first media content for a first window panelof the selected window configuration, the selected first media contentthen being displayed in the first window panel. FIGS. 4D-E show anexample of media content from a digital movie application being selectedand then displayed in the left window panel 510.

Optionally, at step 322, the user may mute the sound from the firstmedia content. If the user does so, a text “mute” 412 (as shown in theexample of FIG. 4E) may appear below the first window panel to indicatethat the sound has been turned off for the media content running in thefirst window panel. Alternatively, a muted icon may show briefly justafter a window panel is set to a muted state. In one embodiment,pressing an audio button on remote control 106 mutes and un-mutes awindow panel with action. The muting and un-muting may also be performedby selecting arrow keys of onscreen buttons. Both window panels may bemuted, only one window may have audio, and/or both window panels mayhave audio playing at the same time.

After step 322, the application chooser menu 410 moves and, in oneembodiment, then passes through (i.e., is displayed as overlapping) anext window panel of the selected window configuration at step 324. Thisindicates that the next window panel is to receive the next selectedmedia content 204. FIGS. 4D-E show an example of application choosermenu 410 moving from the first window panel 510 and then passing throughthe next window panel 512.

At step 326, the user then selects a next media content 204 for a nextwindow panel of the selected window configuration. There may beinstances where a selected next media content 204 is incompatible or inconflict with a first media content 204 already selected for display atstep 320 (e.g., if the user wishes to run two media contentsconcurrently that hardware will not allow to run concurrently). As such,at step 328, the method 300 determines whether the user has selected anext media content that is incompatible with the selected first mediacontent. If so, an error message appears in the next window panel atstep 330 (e.g., “You cannot play two video clips at the same time”) andreturns to step 324.

If the user has not selected to run two incompatible media contents 204,then method 300 proceeds to step 332. At step 332, the user selectsbackground sound for the selected next media content (e.g., digitalphoto), such as from a compact disc application, the selected backgroundsound then being played. Note that the selected background sound canlater be muted. On finalizing the media content selection for the windowpanels of the selected window configuration, application chooser menu410 disappears at step 334 and the next media content is displayed inthe next window panel at step 336. The method 300 then ends.

FIG. 4F shows an example of where the selected next media content iscontent from a digital photo application (the content being a digitalphoto of a drawing of a tomato). As shown in FIG. 4F, the applicationchooser menu 410 is no longer displayed, a digital movie is playing inwindow panel 510 (with the sound muted as indicated by mute text 412),and a digital image of a tomato is displayed in window panel 512 (withbackground sound being played as indicated by sound icon 414). At thispoint, window panel 510 and window panel 512 may be selected and movedaround on the television screen 108 by the user and may overlap.

FIGS. 5A-I show examples of possible predetermined window configurations406 that may be displayed at step 307 and selected at step 314 of method300. FIGS. 5A-I are for illustrative purpose only and, in otherembodiments, other window configurations other than those shown in FIGS.5A-I are used.

FIG. 5A shows a plan view of a first side-by-side window configuration502 comprising a first window panel 504 positioned next to a secondwindow panel 506 in a side-by-side arrangement. To maximize the use ofthe screen area of screen 108, an aspect ratio of window panels 504 and506 is compressed horizontally. In other embodiments, the window panels504 and 506 may be uncompressed horizontally and the application contentreformatted to produce a different layout (e.g., for alerts or HTMLdisplay the panels may simply reformat the output rather than compressthe image).

FIG. 5B is a plan view of a second side-by-side window configuration 508comprising a first window panel 510 positioned next to a second windowpanel 512 in a side-by-side arrangement. To be more true to the intendeddisplay size of an application, an aspect ratio of at least one ofwindow panel 510 and window panel 512 is the same as the aspect ratioestablished by the content provider. In other words, the aspect ratio isneither compressed nor expanded from the original aspect ratio.

FIG. 5C is a plan view of a first over and under window configuration514 comprising a first window panel 516 positioned next to a secondwindow panel 518 in an over and under arrangement. To maximize the useof the screen area of screen 108, an aspect ratio of window panel 514and window panel 516 is compressed vertically. In other embodiments, thewindow panels 514 and 516 may be uncompressed vertically for applicationcontent to produce a different layout for text (e.g., for alerts or HTMLthe panels may resize rather than compress).

FIG. 5D is a plan view of a second over and under window configuration520 comprising a first window panel 522 positioned next to a secondwindow panel 524 in an over and under arrangement. To be more true tothe intended display size of an application, an aspect ratio of at leastone of window panel 522 and window panel 524 is the same as the aspectratio established by the content provider.

FIG. 5E is a plan view of a first picture in picture windowconfiguration 526 comprising a first window panel 528 positioned withina second window panel 530 in a picture in picture arrangement. Windowpanel 528 is located in a lower right corner of window panel 530. FIG.5F is a plan view of a second picture in picture window configuration532 comprising a first window panel 534 positioned in an upper rightcorner within a second window panel 538 in a picture in picturearrangement. FIG. 5G is a plan view of a third picture in picture windowconfiguration 538 comprising a first window panel 540 positioned in alower left corner within a second window panel 542 in a picture inpicture arrangement. FIG. 5H is a plan view of a fourth picture inpicture window configuration 544 comprising a first window panel 546positioned in an upper right corner within a second window panel 548 ina picture in picture arrangement. In some embodiments, an aspect ratioof at least one window panel in window configuration 526, windowconfiguration 532, window configuration 538, and window configuration544 is the same as the aspect ratio established by the content provider.

FIG. 5I is a plan view of a full screen window configuration 550comprising a window panel 552 positioned to fill screen 108 in a fullscreen arrangement. A viewer looking at television 102 may seetelevision broadcast content that fills window panel 552. Windowconfiguration 552 of FIG. 5I includes some similarities to full screen402 of FIG. 4A and may be displayed as an initial window configurationat step 302 of FIG. 3.

FIG. 6 is a method 600 for displaying windows in television environment100. Some steps of the method 600 may be implemented in hardware orsoftware, for example, by a DMA or windows management application thatreceives user input through a user interface (e.g., through use of theremote control). The steps of the method 600 are for illustrativepurposes only and the order or number of steps may vary in otherembodiments. FIG. 6 is described in relation to FIGS. 1 and 2 which showelements referred to in FIG. 6.

The method 600 begins when the windows management application displays(at 605) a user interface on the screen 108 of the television 102. Thewindows management application then receives (at 610) user inputselecting a particular window configuration having predeterminedposition and size settings for one or more windows. The windowsmanagement application also receives (at 612) user input selecting mediacontent for display in the windows. The windows management applicationthen receives (at 614) the media content. In some embodiments, thewindows management application receives (at 610) user input selectingsettings for two or more windows, receives (at 612) user input selectingtwo or more different media content, and receives (at 614) two or moredifferent media content. In some embodiments, the media contentcomprises at least a first broadcast television content 212 and at leasta first application content.

The windows management application then combines/composites (at 615) thetwo or more different media content to produce a television signal 208and configures the television signal 208 so that each separate mediacontent is to be displayed in a separate window on the screen 108 of thetelevision 102. The separate windows for the separate media content arealso configured according to the position and size settings for theparticular window configuration selected at step 610. The windowsmanagement application sends (at 620) the television signal 208 to thetelevision 102. The television 102 receives (at 625) the televisionsignal 208 and displays it on the screen 108. In some embodiments, thetelevision 102 displays (at 625) each of two or more different mediacontent in a separate window/panel on the screen 108.

The windows management application then receives (at 630) user inputselecting and moving a window displayed on the screen 108 from an oldposition (the predetermined position as set by the selected windowconfiguration) to a new user-defined position on the screen 108. Inresponse, the windows management application reconfigures (at 635) thetelevision signal 208 so that the selected window is displayed at thenew user-defined position on the screen 108. In some embodiments, thetelevision signal 208 is configured so that the new position of theselected window overlaps the position of another window displayed on thescreen 108. The windows management application sends (at 640) thereconfigured television signal 208 to the television 102 and thetelevision 102 displays (at 645) the selected window at the new positionon the screen 108. In some embodiments, the selected window is displayedto overlap another window on the screen 108.

As discussed above, high definition televisions (HDTV) provide moreresolution than standard definition televisions. Currently though, thereis a small amount of high definition media content 204 that takesadvantage of the greater resolution provided by high definitiontelevisions. However, with the advent of remoted applications, a largesuite of applications have become available providing a variety of mediacontent 204 to a user.

In some embodiments described above, DMA 104 provides picture-in-pictureand picture-by-picture options where the user selects from a variety ofmedia content 204. Some embodiments give the user more flexibility whenwatching television making the viewing experience similar to that of apersonal computer, but in a more television-centric way. For example,the user may interact with window panels (e.g., via a remote control) tomove window panels around on the television screen 108 and overlapwindow panels. Through DMA 104, the user has access to content frommultiple applications and content from multiple broadcast televisionsignals concurrently. Some embodiments described above combine (i)applications that may be available on a personal computer, (ii)broadcast television content, and (iii) a user interface that makessense on a television and with which a television viewer is familiar. Indoing so, a user now is provided with the ability to control two or moredifferent media content 204 on a television screen 108.

FIG. 7 is a computer system 700 with which some embodiments of theinvention are implemented. In some embodiments, the techniques of thepresent invention is hard-coded into hardware devices dedicatedspecifically for graphics production and/or implemented in computerexecutable instructions stored in a computer readable medium (software).

The computer system 700 may include a bus 705, a processor 710, a systemmemory 715, a read-only memory 720, a permanent storage device 725,input devices 730, output devices 735, and an alternative processor 740.Some or all of the items of computer system 700 is included in acompiling unit or included in a control processor.

The bus 705 may collectively represent all system, peripheral, andchipset buses that communicatively connect the numerous internal devicesof the computer system 700. For instance, the bus 705 maycommunicatively connect the processor 710 with the read-only memory 720,the system memory 715, and the permanent storage device 725.

The read-only-memory (ROM) 720 may store static data and instructionsthat is needed by the processor 710 and other modules of the computersystem. The permanent storage device 725, on the other hand, is aread-and-write memory device. This device is a non-volatile memory unitthat stores instruction and data even when the computer system 700 isoff. Some embodiments of the invention may utilize a mass-storage device(such as a magnetic or optical disk and its corresponding disk drive) asthe permanent storage device 725. Other embodiments may utilize aremovable storage device (such as a floppy disk or Zip® disk, and itscorresponding disk drive) as the permanent storage device.

Like the permanent storage device 725, the system memory 715 is aread-and-write memory device. However, unlike storage device 725, thesystem memory is a volatile read-and-write memory, such as a randomaccess memory (RAM). The system memory may store some of theinstructions and data that the processor needs at runtime.

In some embodiments, instructions and/or data needed to perform methodsof the present invention is stored in the system memory 715, thepermanent storage device 725, the read-only memory 720, or anycombination of the three. For example, the various memory units maycontain instructions of an application and/or graphics data generated bythe application. In some embodiments, the system memory 715 and/or thepermanent storage device 725 may comprise a cache and/or buffer.

From these various memory units, the processor 710 may retrieveinstructions to execute and data to process to perform the processes ofthe present invention. In some embodiments, the processor 710 mayutilize an on-chip cache 712 to hold data recently accessed or producedby the processor 710. In some embodiments, the alternative processor 740may execute instructions and processes data to perform the processes ofthe present invention.

The bus 705 also may connect to the input and output devices 730 and735. The input devices 730 may enable a user to communicate informationand select commands to the computer system 700. The input devices 730may include alphanumeric keyboards and cursor-controllers. The outputdevices 735 may print or display images generated by the computer system700. The output devices may include printers and display devices, suchas cathode ray tubes (CRT) or liquid crystal displays (LCD).

Finally, as shown in FIG. 7, the bus 705 also may couple the computersystem 700 to a network 775 through, for example, a network adapter (notshown). In this manner, the computer system 700 is a part of a networkof computers (such as a local area network (“LAN”), a wide area network(“WAN”), or an Intranet) or a network of networks (such as theInternet). Any or all of the components of the computer system 700 isused in conjunction with the present invention. However, one of ordinaryskill in the art would appreciate that any other system configurationalso is used in conjunction with the present invention.

Those of skill would appreciate that the various illustrative logicalblocks, modules, circuits, and algorithm steps described in connectionwith the embodiments disclosed herein is implemented as electronichardware, computer software, or combinations of both. To illustrate thisinterchangeability of hardware and software, various illustrativecomponents, blocks, modules, circuits, and steps have been describedabove generally in terms of their functionality. Whether suchfunctionality is implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem. Skilled artisans may implement the described functionality invarying ways for each particular application, but such implementationdecisions should not be interpreted as causing a departure from thescope of the present invention. Moreover, method steps is interchangedwithout departing from the scope of the invention.

The various illustrative logical blocks, modules, and circuits describedin connection with the embodiments disclosed herein is implemented orperformed with a general purpose processor, a digital signal processor(DSP), an application specific integrated circuit (ASIC), a fieldprogrammable gate array (FPGA) or other programmable logic device,discrete gate or transistor logic, discrete hardware components, or anycombination thereof designed to perform the functions described herein.A general purpose processor is a microprocessor, but in the alternative,the processor is any conventional processor, controller,microcontroller, or state machine. A processor also is implemented as acombination of computing devices, e.g., a combination of a DSP and amicroprocessor, a plurality of microprocessors, one or moremicroprocessors in conjunction with a DSP core, or any other suchconfiguration.

The steps of a method or algorithm described in connection with theembodiments disclosed herein is embodied directly in hardware, in asoftware module executed by a processor, or in a combination of the two.A software module may reside in RAM memory, flash memory, ROM memory,EPROM memory, EEPROM memory, registers, hard disk, a removable disk, aCD-ROM, or any other form of storage medium known in the art. Anexemplary storage medium is coupled to the processor such that theprocessor reads information from, and writes information to, the storagemedium. In the alternative, the storage medium is integral to theprocessor. The processor and the storage medium may reside in an ASIC.The ASIC may reside in a user terminal. In the alternative, theprocessor and the storage medium may reside as discrete components in auser terminal.

The previous description of the disclosed embodiments is provided toenable any person skilled in the art to make or utilize the presentinvention. Various modifications to these embodiments will be readilyapparent to those skilled in the art, and the generic principles definedherein is applied to other embodiments without departing from the spiritor scope of the invention. Thus, the present invention is not intendedto be limited to the embodiments shown herein but is to be accorded thewidest scope consistent with the principles and novel features disclosedherein. Thus, one of ordinary skill in the art would understand that theinvention is not to be limited by the foregoing illustrative details,but rather is to be defined by the appended claims.

What is claimed is:
 1. A method implemented on processing circuitry formanaging windows displayed on a display device, the method comprising:receiving a user input selecting a first audio-visual media streamavailable from a first source; determining whether the firstaudio-visual media stream is compatible with a second audio-visual mediastream from a second source; in response to determining that the firstaudio-visual media stream is compatible with the second audiovisualmedia stream: generating for display, in a first display configuration,the second audio-visual media stream, available from the second source,overlaid in a corner portion of the first audio-visual media stream; andin response to a user request, generating for display the firstaudio-visual media stream and the second audio visual media stream in asecond display configuration different from the first displayconfiguration; and in response to determining that the firstaudio-visual media stream is not compatible with the second audio-visualmedia stream, generating for display an indication indicating that thefirst audio-visual stream is not compatible with the second audio-visualstream.
 2. The method of claim 1, wherein the first audio-visual mediastream and the second audio-visual media stream each comprise one oftelevision content, interactive media content, multimedia applicationcontent, and internet-based application content.
 3. The method of claim1, further comprising: after generating for display the firstaudio-visual media stream with the second audio-visual media stream inthe first display configuration, receiving a user input moving thesecond audio-visual media stream to a new position in a display screen;and updating the display screen including the second audio-visual mediastream at the new position.
 4. The method of claim 3, wherein the userinput is received through a user interface displayed on the displaydevice through use of a remote control device.
 5. The method of claim 1,wherein generating for display the first audio-visual media stream andthe second audio-visual media stream in the second display configurationcomprises generating for display at least one of the first audio-visualmedia stream and the second audio-visual media stream with an aspectratio equal to an original aspect ratio established by a contentprovider.
 6. The method of claim 1, wherein generating for display thefirst audio-visual media stream and the second audio-visual media streamin the second display configuration comprises adjusting an aspect ratioequal of at least one of the first audio-visual media stream and thesecond audio-visual media stream.
 7. The method of claim 1, whereingenerating for display the first audio-visual media stream and thesecond audio-visual media stream in the second display configurationcomprises reformatting at least one of the first audio-visual mediastream and the second audio-visual media stream to fit a display screen.8. The method of claim 1, further comprising: receiving a user commandto mute at least one of the first audio-visual media stream and thesecond audio-visual media stream; and muting the at least one of thefirst audio-visual media stream and the second audio-visual mediastream.
 9. The method of claim 8, further comprising receiving a userselection of background sound for at least one of the first audio-visualmedia stream and the second audio-visual media stream.
 10. A system formanaging windows displayed on a display device, the system comprisingprocessing circuitry configured to: receive a user input selecting afirst audio-visual media stream available from a first source; determinewhether the first audio-visual media stream is compatible with a secondaudio-visual media stream from a second source; in response todetermining that the first audio-visual media stream is compatible withthe second audiovisual media stream: generate for display, in a firstdisplay configuration, the second audio-visual media stream, availablefrom the second source, overlaid in a corner portion of the firstaudio-visual media stream; and generate for display the firstaudio-visual media stream and the second audio-visual media stream in asecond display configuration different from the first displayconfiguration in response to a user request; and in response todetermining that the first audio-visual media stream is not compatiblewith the second audio-visual media stream, generate for display anindication indicating that the first audio-visual stream is notcompatible with the second audio-visual stream.
 11. The system of claim10, wherein the first audio-visual media stream and the secondaudio-visual media stream each comprise one of television content,interactive media content, multimedia application content, andinternet-based application-content.
 12. The system of claim 10, whereinthe processing circuitry is further configured to: receive, aftergenerating for display the first audio-visual media stream with thesecond audio-visual media stream in the first display configuration, auser input moving the second audio-visual media stream to a new positionin a display screen; and update the display screen including the secondaudio-visual media stream at the new position.
 13. The system of claim12 further comprising a remote control device, wherein the processingcircuitry is further configured to receive the user input through a userinterface displayed on the display device through use of the remotecontrol device.
 14. The system of claim 10, wherein the processingcircuitry is further configured to, when generating for display thefirst audio-visual media stream and the second audio-visual media streamin the second display configuration, generate for display at least oneof the first audio-visual media stream and the second audio-visual mediastream with an aspect ratio equal to an original aspect ratioestablished by a content provider.
 15. The system of claim 10, whereinthe processing circuitry is further configured to, when generating fordisplay the first audio-visual media stream and the second audio-visualmedia stream in the second display configuration, adjust an aspect ratioequal of at least one of the first audio-visual media stream and thesecond audio-visual media stream.
 16. The system of claim 10, whereinthe processing circuitry is further configured to, when generating fordisplay the first audio-visual media stream and the second audio-visualmedia stream in the second display configuration, reformat at least oneof the first audio-visual media stream and the second audio-visual mediastream to fit the display screen.
 17. The system of claim 10, whereinthe processing circuitry is further configured to: receive a usercommand to mute at least one of the first audio-visual media stream andthe second audio-visual media stream; and mute the at least one of thefirst audio-visual media stream and the second audio-visual mediastream.
 18. The system of claim 17, wherein the processing circuitry isfurther configured to receive a user selection of background sound forat least one of the first audio-visual media stream and the secondaudio-visual media stream.